﻿using dotnet_graphql_demo.Model;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace dotnet_graphql_demo.Infrastructure
{
    public interface IOwnerRepository
    {       
        
        /// <summary>
        /// 获取所有账户
        /// </summary>
        /// <returns></returns>
        Task<List<Owner>> GetOwnersAllAsync();

        /// <summary>
        /// 获取账号详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Owner> GetOwnerAsync(Guid id);

        /// <summary>
        /// 创建账号
        /// </summary>
        /// <param name="Owner"></param>
        Task<Owner> CreateOwnerAsync(Owner Owner);

        /// <summary>
        /// 修改账号
        /// </summary>
        /// <param name="Owner"></param>
        Task<Owner> UpdateOwnerAsync(Owner Owner);

        /// <summary>
        /// 删除账号 
        /// </summary>
        /// <param name="Owner"></param>
        Task<Owner> DeleteOwnerAsync(Owner Owner);
    }
}
